#include <func.h>

int main(int argc, char *argv[])
{
    ARGS_CHECK(argc, 3);

    // 1. 生成套接字描述符
    int sfd = socket(AF_INET, SOCK_STREAM, 0);

    
    struct sockaddr_in ser_addr; // 服务器信息结构体
    bzero(&ser_addr, sizeof(ser_addr));
    ser_addr.sin_family = AF_INET; // 使用IPv4
    ser_addr.sin_port = htons(atoi(argv[2])); // 端口号
    ser_addr.sin_addr.s_addr = inet_addr(argv[1]); // IP地址

    // 2. connect
    int ret = connect(sfd, (struct sockaddr *)&ser_addr, sizeof(ser_addr));
    ERROR_CHECK(ret, -1, "connect");

    // 客户端先发
    char buf[128] = "hello";
    send(sfd, buf, strlen(buf), 0);

    // 客户端再收
    memset(buf, 0, sizeof(buf));
    recv(sfd, buf, sizeof(buf), 0);
    printf("I am client, gets = %s\n", buf);

    close(sfd);

    return 0;
}
